# 15.3.5 设置样式
import matplotlib.pyplot as plt
from random_walk import RandomWalk

# 3.隐藏坐标轴
# 4.增加点数
# 5.调整尺寸以适合屏幕
while True:
    rw = RandomWalk(50_000)
    rw.fill_walk()

    plt.style.use('classic')

    # 5.调整尺寸以适合屏幕
    # fig, ax = plt.subplots()
    # 向figsize指定一个元组，单位为英寸，1英寸≈2.54cm
    # fig, ax = plt.subplots(figsize=(15, 9))
    # dpi设置分辨率
    fig, ax = plt.subplots(figsize=(10, 6), dpi=128)

    point_numbers = range(rw.num_points)
    ax.scatter(rw.x_values,
               rw.y_values,
               c=point_numbers,
               cmap=plt.cm.coolwarm,
               edgecolors='none',
               s=1)

    # 突出起点和终点
    ax.scatter(0, 0, c='green', edgecolors='none', s=100)
    ax.scatter(rw.x_values[-1],
               rw.y_values[-1],
               c='red',
               edgecolors='none',
               s=100)

    # 隐藏坐标轴
    ax.get_xaxis().set_visible(False)
    ax.get_yaxis().set_visible(False)

    plt.show()

    keep_running = input("Make another walk? (y/n): ")
    if keep_running == 'n':
        break
